Operations on algebraic expressions